package socketmvc.core.context;

import socketmvc.core.config.SocketMvcConfig;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * MVC配置上下文
 */
public class ConfigContext {
    private static final Map<SocketMvcConfig.IpConfig,SocketMvcConfig> CONFIG_MAP = new ConcurrentHashMap<>();

    public static <K extends SocketMvcConfig.IpConfig,V extends SocketMvcConfig> void setConfig(K ipConfig,V socketMvcConfig){
        CONFIG_MAP.put(ipConfig,socketMvcConfig);
    }

    public static <V extends SocketMvcConfig> void setConfig(V socketMvcConfig){
        CONFIG_MAP.put( socketMvcConfig.getIpConfig(),socketMvcConfig);
    }

    public static SocketMvcConfig getConfig(SocketMvcConfig.IpConfig ipConfig){
      return CONFIG_MAP.get(ipConfig);
    }
}
